<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  var arr = [{
    name: "张三",
    age: 19,
    sex: "男",
    hobby: ["篮球", "喝酒", "乒乓球"],
    integral: 90
  },{
    name: "大张四",
    age: 25,
    sex: "男",
    hobby: ["抽烟", "足球", "乒乓球"],
    integral: 80
  },{
    name: "王五",
    age: 22,
    sex: "女",
    hobby: ["篮球", "烫头", "唱歌"],
    integral: 100
  },{
    name: "张六",
    age: 18,
    sex: "女",
    hobby: ["跳舞", "足球", "rap"],
    integral: 85
  }];

  // a. 筛选出所有喜欢打篮球的人员，以新数组存放
  var res = arr.filter(function(val){
    return val.hobby.indexOf("篮球") !== -1;
  })
  console.log(res);
  // a. 筛选出所有喜欢打篮球的人员姓名，以新数组存放
  // var a = []
  // arr.forEach(function(val){
  //   if(val.hobby.indexOf("篮球") !== -1){
  //     a.push(val.name);
  //   }
  // })
  // console.log(a);

  // b. 筛选出所有姓张的人员，以新数组存放
  var res = arr.filter(function(val){
    return val.name[0] === "张"
  })
  console.log(res);
  
  // c. 筛选出所有名字含张的人员，以新数组存放
  var res = arr.filter(function(val){
    return val.name.indexOf("张") !== -1;
  })
  console.log(res);

  // d. 计算所有人员的总分，数值
  var sum = arr.reduce(function(prev, val){
    return prev + val.integral;
  }, 0);
  console.log(sum);

  // e. 按照年龄升序排序，以新数组存放
  var res = arr.slice(0).sort(function(a, b){
    return a.age - b.age;
  })
  console.log(res);
  
  // f. 给所有的男性的积分（integral）+10分，修改原数组
  arr.forEach(function(val, idx, self){
    // console.log(val);
    if(val.sex === "男"){
      val.integral += 10;
    }
    // self.push("hello")
  })
  console.log(arr);

  
</script>
</html>